// 点赞的处理模块
// 导入数据库操作模块
const db = require('../db/index')


//获取该文章哪位用户进行了点赞操作 
exports.userInfoZan = (req, res) => {
    const sql = 'select * from zan where article_id=?'
    db.query(sql,req.params.article_id, (err,results) => {
        // 执行SQL语句失败
        if(err) {
            return res.cc(err)
        }
        let arr = [];
        results.forEach(item => {
            arr.push({user_id:item.user_id,nickname:item.nickname})
        });
        // 有的话返回存在的数据
        res.send({
            status:0,
            message: '获取成功！',
            data:arr
        })
    })
}


// 用户给文章点赞
exports.giveLikeZan = (req, res) => {
    // res.send('ok')
    // console.log(req.user);
    // 定义 SQL 语句 主要添加点赞的接口
    const sql = 'insert into zan set ?'
    // SQl 函数
    db.query(sql, {article_id:req.params.article_id, user_id:req.user.user_id,nickname:req.user.nickname}, (err,results) => {
        if(err) return res.cc(err)
        if (results.affectedRows !== 1) return res.cc('点赞失败！')
        // 成功的回调
        res.send({
            status:0,
            message:'点赞成功！'
        })



    })
}


// 取消点赞
exports.deleteLikeZan = (req, res) => {
    // res.send('ok')
    console.log(req.user);
    // 定义 SQL 语句 主要添加点赞的接口
    const sql = 'delete from zan where (article_id=? and user_id=?)'
    // SQl 函数
    db.query(sql, [req.params.article_id, req.user.user_id], (err,results) => {
          // 执行 SQL 语句失败
      if (err) return res.cc(err)
    
      // SQL 语句执行成功，但是影响行数不等于 1
      if (results.affectedRows !== 1) return res.cc('取消点赞失败！')
    
      // 取消点赞成功
      res.cc('取消点赞成功！', 0)
    })
}
